package Offer9;

import java.util.Stack;

/**
 * 两个栈实现队列
 * @author 23737
 * @time 2021.10.13
 */
public class Test {
    public static void main(String[] args) {

    }
}

/**
 * 做法蛮简单的，就是使用两个栈，命名为入栈和出栈
 * 一个栈存值，另外一个寻入栈弹出的值
 * 然后返回出栈的值就好了
 */
class CQueue {
    Stack<Integer> stackIn;
    Stack<Integer> stackOut;
    public CQueue() {
        stackIn = new Stack<>();
        stackOut = new Stack<>();
    }
    public void appendTail(int value) {
        stackIn.push(value);
    }
    public int deleteHead() {
        if (stackIn.size() == 0 && stackOut.size() == 0) {
            return -1;
        }
        if (!stackOut.isEmpty()) {
            stackOut.pop();
        }
        while(!stackIn.isEmpty()){
            stackOut.push(stackIn.pop());
        }
        return stackOut.pop();
    }
}


